Field of the Invention
The present invention relates to a generating apparatus, a generating method and a program.
Description of the Related Art
Currently, medium transmission using an IP (Internet Protocol) network, such as the Internet, is widely used. Particularly, an RTP (A Transport Protocol for Real-Time Applications, RFC3550, IETF) is becoming more popular. The RTP is a protocol for transmitting medium data, such as moving images and sound taken by a camera, in real time through a network. In the RTP, a UDP (User Datagram Protocol) with a faster transfer speed than a TCP (Transmission Control Protocol) is to be used in a transport layer. Although the transfer speed is fast in the UDP, there is no packet loss countermeasure or guarantee of transmission time. Therefore, a communication error needs to be handled in a layer higher than the transport layer. Particularly, the transmission data is partially lost when a packet loss occurs. In the medium transmission, the quality may be reduced due to disturbance in video or interruption of sound. Therefore, control for recovering this is necessary.
An RTP-FEC (An RTP Payload Format for Generic Forward Error Correction, RFC 5109, IETF) is known to provide error recovery capability to the RTP. The RTP-FEC is provided with a forward error correction (FEC) technique. In the RTP-FEC, redundant data based on error-correcting codes are generated for data packets to be protected, such as video and sound, and packetized error-correcting code packets are transmitted to a receiving apparatus along with the data packets.
An example of a method for generating the error-correcting codes includes a parity method based on exclusive OR (XOR). Although the calculation processing cost for generating the error-correcting code packets based on the parity method is low, errors cannot be recovered if errors occur in a plurality of data packets to be protected. Therefore, there is a method for protecting one data packet by a plurality of error-correcting code packets to increase the error resistance of the data packets to be protected (for example, see Japanese Patent Application Laid-Open No. 2008-16907). There is also a method for selecting and interleaving data packets to be protected at arbitrary intervals in order to increase the error resistance of the data packets to be protected in an environment in which consecutive errors of a plurality of packets, or so-called burst error, may occur, as in the Internet.
However, the protection of one data packet by a plurality of error-correcting code packets increases the number of error-correcting code packets and increases the amount of transmission data. Therefore, the communication band may be pressured, and the error rate may increase. The interleaving of the data packets to be protected at arbitrary intervals increases the size of the data packet blocks to be protected that are necessary for generating error-correcting code packets, and the transmission is delayed.